 _                         _
()                       ()
 =                         =
 | Cyberface Cracking Tour |
 |          1999           |
 |         Teil 1          |


Okay! Here we go ...
Dies ist mein erster Tutor, also entschuldigt bitte die grammatikalischen Fehler ...

so ziemlich alles was ihr zum cracken braucht ist:
* einen Disasassembler (ich verwende W32DASM v8.93)
* einen Hexeditor (ich nehme immer Hexworkshop 2.54)
* eine Hand (fr Maus und Tastatur), Augen und ein bischen Hirn ...
Solltet ihr eines dieser Programme bzw. Organe nicht besitzen, dann knnt ihr euch zumindest einmal
die zwei Programm aus dem Internet saugen. Fragt nicht von wo ...

Oki, als erstes cracken wir ein ganz einfaches Programm um zu zeigen wie cracken grundstzlich funktioniert:
PASS1.EXE

Startet das Programm einfach mal ...
uiii das tut weh ... eine Passwortabfrage!
Nachdem ihr diesen Tutor zuende gelesen habt, werdet ihr ganzsicher nicht mehr so auf diese Situation reagieren, sondern
eher so: Geil, endlich wieder Crack-Stuff!!! ...

Also machen wir uns jetzt ans Cracken:
Das erste was man beim cracken macht, ist: man sieht sich die Fehlermeldung an!
Dann sucht man in der Datei nach dieser Fehlermeldung und schreibt in diesem Bereich die Datei etwas um.
Gebt zuerst einmal irgendetwas ein ... z.B.: scheisse
und, und, und, ... nein ... das Programm meldet natrlich: "Passworteingabe Falsch!"
(Nun ja, das knnen wir ndern ;-> )
Jetzt wissen wir zumindest einmal, wonach wir in der PASS1.EXE Datei suchen mssen. Nmlich nach obigem String.
Startet dazu mal W32DASM und ladet die Datei PASS1.EXE indem ihr aus Disassembler/New file to disassemble klickt...
kurz warten ...
(... und wir sehen einen Haufen Scheie ;-) )
so, nun suchen wir nach obigem String indem wir auf Search/Find Text... klicken
dort geben wir "Passworteingabe falsch!" ein.
Und siehe da ... nun befinden wir uns mitten in der Passwortabfrageroutine.
Ein Stck ber "Passworteingabe falsch!" sehen wir den String "Cyberface". Aha das sieht verdchtig nach einem Passwort aus.
Probieren ... und ... jop! Passwort ist richtig!
So, wir haben nun zwar das richtige Passwort, aber das ist uns noch nicht genug, oder ...?
Also sehen wir uns den code mal ab "Cyberface" an.


* Possible StringData Ref from Code Obj ->"Cyberface"                        <== Das ist unser Passwort!
                                  |
:0042CDFB BA48CE4200              mov edx, 0042CE48
:0042CE00 E8CB6AFDFF              call 004038D0
:0042CE05 740C                    je 0042CE13   <== Wichtigste Stelle! Hier wird entschieden wo das Progii vortgesetzt wird!

* Possible StringData Ref from Code Obj ->"Passworteingabe falsch!"
                                  |
:0042CE07 B85CCE4200              mov eax, 0042CE5C

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0042CD96(C)
|
:0042CE0C E8ABFCFFFF              call 0042CABC
:0042CE11 EB0A                    jmp 0042CE1D

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0042CE05(C)
|

* Possible StringData Ref from Code Obj ->"Passwort ist richtig!"
                                  |
:0042CE13 B87CCE4200              mov eax, 0042CE7C      <== Wenn die beiden Strings gleich sind dann gehts hier weiter


Kurz unter "Cyberface" sehen wir den Befehl je 0042CE13.  je bedeutet Jump if equal. Also je vergleicht einen String mit
einem anderen. Wenn das die beiden Strings (Benutzereingabe und "Cyberface") gleich (equal) sind, dann springt (jump) es and die Codestelle 0042CE13. Und dort steht: "Passwort ist richtig!"
So alles was wir tun mssen, ist statt dem Befehl je, den Befehl jne (Jump if not equal) zu setzen. jne bedeutet also genau
das Gegenteil von je. Wir doppelklicken also auf die Stelle mit je und sehen, da dort ein grner Balken erscheint.
Unten in der Statuszeile merkt ihr euch den @Offset (0002C205  (ohne dem h).
Schliet nun W32DASM und ffnet Hexworkshop. Dort ladet ihr die Datei PASS1.EXE. Nun klickt ihr auf Edit/Goto... und gebt
dort den Offset (0002C205) ein. Wichtig ist da die Optionen o HEX und o Beginning of File eingeschaltet sind.
Jetzt seid ihr an genau der selben Stelle in der Datei wie vorhin in W32DASM (bei dem je 0042CE13 Befehl). Die nchste Zahl,
74 steht fr je und 0C steht fr 0042CE13. Da wir je auf jne ndern wollen, berschreiben wir die Zahl 74 mit der Zahl 75 
(75 steht fr jne) und speichern das ganze.
... und PASS1.EXE ist gecrackt! Probieren wir also das Programm PASS1.EXE nocheinmal aus ...
Gebt irgendein Wort ein und klickt auf OK. Siehe da: "Passwort ist richtig!" ... Cool was :->> !!!

Bei dieser Lsung gibt es aber ein kleines Problem. Wenn wir nmlich nun als Passwort "Cyberface" (das eigentlich richtige Passwort) eingeben, meldet uns das Programm natrlich: "Passworteingabe ist falsch!", denn wir haben ja das Programm so umgeschrieben, da es bei dem richtigen Passwort "denkt" es whre Falsch...

Also werde ich hier noch eine 2. (bessere) Lsung beschreiben:
wenn wir je nicht in jne sondern in jmp (jmp bedeutet jump) umschreiben, dann springt es in jedem Fall immer an die Stelle
0042CE13 und "denkt" somit immer, da wir das richtige Passwort eingegeben haben. ;->
Also schreiben wir im Hexworkshop ber die Zahl 74 nicht 75, sondern EB (steht fr jmp).
... und das Programm ist perfekt gecrackt !



Soweit zu meinem 1. Cracking Tutor!!!
Anregungen, Wnsche und beschwerden bitte an: cyberface@mail.com !!!
Der 2. Teil folgt. Dort wird die Passwortroutine etwas kniffliger!

SEE YA!
Cyberface

 _                         _
()                       ()
 =                         =
 | Cyberface Cracking Tour |
 |          1999           |
 |         Teil 1          |
 